package ru.compft.common.dao;

import ru.compft.common.data.Setting;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: VVasiliev
 * Date: 24.09.12
 * Time: 13:45
 * DAO для работы с настройками системы
 */
public interface SettingDao {

    /**
     * Получение списка всех настроек системы
     *
     * @return
     */
    List<Setting> getAllSettings();

    /**
     * Получение определенного количества настроек (count) с определенного индекса
     *
     * @param from
     * @param count
     * @return
     */
    List<Setting> getSettings(int from, int count);

    /**
     * Подсчитываем все настройки в БД
     *
     * @return
     */
    int countAllSettings();

    /**
     * Получение настройки по ID
     *
     * @param id
     * @return
     */
    Setting getSettingById(Long id);

    /**
     * Получение настройки по коду
     *
     * @param code
     * @return
     */
    Setting getSettingByCode(String code);

    /**
     * Обновление настройки в БД
     *
     * @param setting
     * @return
     */
    Setting update(Setting setting);
}
